package com.tomjun.common;

import lombok.Data;

import java.io.Serializable;

@Data
public class JsonModel<T> implements Serializable {

    private T data;
    private Integer code;
    private String msg;
    private int page = 1;
    private int pageSize = 10;
    private int count;

    public static JsonModel<String> generateSuccess(String data) {
        JsonModel<String> jsonModel = new JsonModel<>();
        jsonModel.setCode(0);
        jsonModel.setMsg("ok");
        jsonModel.setData(data);
        return jsonModel;
    }

    public static JsonModel<String> generateFailue(String failueMsg) {
        JsonModel<String> jsonModel = new JsonModel<>();
        jsonModel.setCode(1);
        jsonModel.setMsg(failueMsg);
        jsonModel.setData(failueMsg);
        return jsonModel;
    }

    public  JsonModel<T> generateSuccessObject(T data) {
        JsonModel<T> jsonModel = new JsonModel<>();
        jsonModel.setCode(0);
        jsonModel.setMsg("ok");
        jsonModel.setData(data);
        return jsonModel;
    }

    public  JsonModel<T> generateSuccessObject(T data,int count,int page, int pageSize) {
        JsonModel<T> jsonModel = new JsonModel<>();
        jsonModel.setCode(0);
        jsonModel.setMsg("ok");
        jsonModel.setData(data);
        jsonModel.setPage(page);
        jsonModel.setPageSize(pageSize);
        jsonModel.setCount(count);
        return jsonModel;
    }
}
